Golf club with embedded inertial measurement unit and processing

ABSTRACT

Golf clubs having an embedded inertial measurement unit and a corresponding microprocessor for determining the motion of the head of the golf club. Briefly described, one of a number of embodiments of a golf club comprises a 6DOF inertial measurement unit disposed within the head of the golf club and a microprocessor in communication with the 6DOF inertial measurement unit. The microprocessor is configured to receive data from the 6DOF inertial measurement unit and determine the motion of the head of the golf club.

TECHNICAL FIELD

The present invention is generally related to golf equipment and, more specifically, is related to golf clubs (e.g., putters, irons, woods, wedges, etc.) and golf teaching and training devices.

BACKGROUND

Currently, there are a number of golf training devices and golf clubs that are designed for golfers to improve their golf swing. However, due to the various deficiencies existing in these devices, a need exists in the art for improved golf training devices and golf clubs.

SUMMARY

The present invention provides golf clubs having an embedded inertial measurement unit and a corresponding processor for determining the motion of the head of the golf club.

Briefly described, one of a number of embodiments of a golf club comprises a six-degrees-of-freedom (6DOF) inertial measurement unit disposed within the head of the golf club and a microprocessor in communication with the 6DOF inertial measurement unit. The microprocessor is configured to receive data from the 6DOF inertial measurement unit and determine the translational and rotational motion of the head of the golf club.

Other systems, methods, features, and advantages of the present invention will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present invention, and be protected by the accompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.

FIG. 1 a is a perspective view of one of a number of embodiments of a golf club, according to the present invention, which includes a 6DOF inertial measurement unit (IMU) and corresponding microprocessor disposed within the head of the golf club.

FIG. 1 b is an overhead perspective view of the golf club of FIG. 1 a.

FIG. 1 c is a front, cross-sectional view of the golf club of FIGS. 1 a & 1 b.

FIG. 2 is a block diagram illustrating one of a number of embodiments of a hardware and/or software architecture for the golf club of FIGS. 1 a-1 c.

FIG. 3 a illustrates an inertial reference frame used in the 6DOF model of FIG. 2.

FIG. 3 b illustrates a body frame used in the 6DOF model of FIG. 2.

FIG. 4 is a diagram of a gravity vector (relative to the inertial and body frames of FIGS. 3 a and 3 b) used in the 6DOF model of FIG. 2.

FIG. 5 is a flow chart illustrating the general architecture, functionality and/or operation of an embodiment of the 6DOF model of FIG. 2.

FIG. 6 is a flow chart illustrating the architecture, functionality and/or operation of an embodiment of the distance/elevation calculation module(s) of FIG. 2.

FIG. 7 is a flow chart illustrating the architecture, functionality and/or operation of an embodiment of the feedback module(s) of FIG. 2.

FIG. 8 is a flow chart illustrating the architecture, functionality and/or operation of an embodiment of the Stimpmeter simulator module(s) of FIG. 2.

FIG. 9 is a flow chart illustrating the architecture, functionality and/or operation of an embodiment of the break indicator module of FIG. 2.

DETAILED DESCRIPTION

This disclosure describes various embodiments of golf clubs (e.g., putters, irons, woods, wedges, etc.) and golf swing training devices having an embedded inertial measurement unit (IMU) and a corresponding microprocessor. The integrated IMU and microprocessor are disposed within the body of the golf club (e.g., within the head of the golf club). In a preferred embodiment, the physical characteristics of the golf club are designed and developed to include an IMU as an integral part of the head of the golf club. Preferably, the physical characteristics would be designed and/or developed at the club design and manufacturing stage to optimize total physical properties of the club. Alternatively, a manufacturer of a golf club may simply use the physical characteristics of an existing golf club and embed the IMU and the microprocessor within the body of the golf club. Therefore, a golf club designed as a performance club for use during a golf round may easily be manufactured as described below to provide a dual mode performance/training golf club. Thus, a golfer may be able to select a golf club that provides the best feel, performance, etc. for use during competition and which the golfer may use during practice and/or training, with no change in the physical properties of the club.

The integrated IMU provides accurate three-dimensional measurements of the motion of the golf club during a golf stroke (e.g., putt, chip, pitch, full swing, etc.). As will be described in more detail, the integrated IMU may comprise three rate gyros and three rate accelerometers. Each set of three gyros and three accelerometers may be arranged in an orthogonal configuration on the three axes of a Cartesian coordinate frame. As known in the art, this type of configuration of gyros and accelerometers provides a six-degrees-of-freedom (6DOF) motion analysis in which three translational measurements and three rotational measurements in mutually orthogonal directions are provided. In this manner, the IMU may accurately measure the three-dimensional motion of the golf club during a golf stroke.

The integrated IMU interfaces with a corresponding microprocessor, which is also embedded within the golf club. The microprocessor is configured to receive measurement data from the integrated IMU and determine the corresponding three-dimensional motion of the golf club. As described in more detail below, the microprocessor may be further configured to execute various types of motion analysis algorithms. As one example, the microprocessor may be configured to execute various stroke motion analysis algorithms that may, for example, compare the motion of the golf club during a stroke to a kinematic reference model that may, for example, mathematically define planes, vectors, various stroke references, etc. associated with various characteristics related to a golf stroke. In this manner, the kinematic reference model may also define various characteristics associated with a hypothetical, desirable golf stroke (or portion thereof) and/or an individualized, desirable golf stroke for a particular golfer.

In certain embodiments, a feedback mechanism may also be implemented, which enables the user to receive various forms of feedback based on the comparison of the actual stroke to the kinematic reference model. It should be appreciated that the feedback mechanism may employ visual feedback technique(s) (e.g., where a display, LED, etc. is employed) or audio feedback technique(s) (e.g., where an audio transducer is employed). For instance, in embodiments where the golf club is a putter, the feedback mechanism and the stroke motion analysis algorithm(s) may be configured to provide audio and/or visual feedback during the putting stroke when the motion of the head of the putter deviates from the kinematic reference model. One of ordinary skill in the art will appreciate that feedback may be provided for any aspect of the golf stroke. By way of example, during the putting stroke, the feedback mechanism may provide a cue when the putter head rotates beyond a predefined threshold, when the putter head deviates from the target line, when the acceleration of the putter head deviates from a predefined threshold, etc.

In certain embodiments, the golf club or golf swing training device may also comprise a mode switching mechanism by which a golfer may enable and disable the IMU, microprocessor, motion analysis algorithm(s), etc. For example, in a training or non-competition mode, a golfer may train by enabling the IMU and microprocessor and thereby receiving stroke feedback. In a competition or rules compliance mode, however, the golfer may disable the necessary functionality to comply with appropriate rules of competition, such as the rules of golf promulgated by the United States Golf Association and The Royal and Ancient Golf Club of St. Andrews.

FIGS. 1 a-1 c illustrate one of a number of embodiments of a golf club (putter 100) according to the present invention. It should be appreciated that, although FIGS. 1 a-1 c illustrate a putter, other types of golf clubs (e.g., irons, woods, wedges, etc.) and golf swing training aids may be employed. As illustrated in FIG. 1 a, putter 100 comprises a grip 102, shaft 104, and a head 106. In a preferred embodiment, the design of putter 100 complies with the current edition of The Rules of Golf promulgated by the United States Golf Association and The Royal and Ancient Golf Club of St. Andrews, which is hereby incorporated by reference in its entirety. As best illustrated in cross-section in FIG. 1 c, a microprocessor 116 and 6DOF IMU 114 are embedded within head 106 of putter 100. It should be appreciated that microprocessor 116 and 6DOF IMU 114 may be secured within head 106 in a number of ways. For example, in certain embodiments, microprocessor 116 and 6DOF IMU 114 are rigidly disposed within head 106 in such a manner that putter 100 complies with the design specifications of the rules of golf. In additional embodiments, microprocessor 116 and 6DOF IMU 114 may be embedded in an embedding medium within head 106 such that the head 106 forms a solid assembly. One of ordinary skill in the art will appreciate that alternative configurations may be employed.

Putter 100 may also include a mode switching mechanism (e.g., switch 108—FIG. 1 a) and a feedback mechanism (e.g., display 112—FIG. 1 b). Switch 108 may be any type of device configured to switch putter 100 between a training or non-competition mode and a competition or rules compliance mode. As briefly described above, in a training or non-competition mode, a golfer may train by enabling 6DOF IMU 114 and microprocessor 116. In this mode, 6DOF IMU 114 and microprocessor 116 may determine the motion of head 106 and, in some embodiments, execute various types of motion analysis algorithms. In a competition or rules compliance mode, however, the golfer may disable the necessary functionality to comply with appropriate rules of competition.

FIG. 2 is a block diagram illustrating one of a number of embodiments of a hardware and/or software architecture for putter 100. As illustrated by the dashed line in FIG. 2, various components may be disposed within a body 110 of head 106. For instance, in the embodiment of FIG. 2, 6DOF IMU 114, analog-to-digital converter 202, microprocessor 116, and memory 206 may be embedded within head 106. As mentioned above, these components may be secured within body 110 in a number of ways. It should be appreciated that in alternative embodiments some of the components mentioned above may be located in alternative positions within putter 100 (e.g., within shaft 104, grip 102, etc.). Furthermore, additional components (e.g., display 112, switch 108, microprocessor 116, memory, 206, etc.) need not be disposed within head 106. One of ordinary skill in the art will appreciate that these and other components may be located anywhere within putter 100 provided that the appropriate components are in communication with each other. For example, based on the structural design and characteristics of putter 100, the components illustrated in FIG. 2 may be distributed throughout putter 100 in order to maximize the feel, performance, and ease of use of putter 100.

Referring again to FIG. 2, putter 100 may comprise a 6DOF IMU 114, an analog-to-digital converter 202, microprocessor 116, power supply 204, memory 206, input/output (I/O) devices 208, and local interface 214. As illustrated in FIG. 2, 6DOF IMU 114 may communicate with analog-to-digital converter 202 via interface 210. Analog-to-digital converter 202 may communicate with microprocessor 116 via interface 212. Furthermore, microprocessor 116 may communicate with power supply 204, memory 206, and I/0 devices 208 via local interface 214.

In general, 6DOF IMU 114 comprises sensors configured to measure three-dimensional motion relative to a reference frame using a six-degrees-of-freedom method. In one embodiment, 6DOF IMU 114 comprises three rate gyros and three accelerometers. Each set of three gyros and three accelerometers may be arranged in an orthogonal configuration on the three axes of a Cartesian coordinate frame. As known in the art, this type of configuration of gyros and accelerometers provides a six-degrees-of-freedom motion analysis in which three translational measurements and three rotational measurements in mutually orthogonal directions are provided. In this manner, 6DOF IMU 114 (which is disposed within head 106 of the golf club) may accurately measure the three-dimensional motion of the golf club during a golf stroke.

One of ordinary skill in the art will appreciate that a number of types of sensors (e.g., gyros, accelerometers, etc.) may be implemented in 6DOF IMU 114. In one of a number of possible embodiments, micro-electro-mechanical sensors (MEMS) are employed. It should be further appreciated that 6DOF IMU 114 may be implemented using solid state technology. In alternative embodiments, 6DOF IMU 114 may be implemented on a single chip, which may also include analog-to-digital converter 202, microprocessor 116, and/or memory 206.

As known in the art, analog-to-digital converter 202 comprises a device that converts data from analog to digital form. In this regard, during operation, analog-to-digital converter 212 receives the analog data acquired by the sensors in 6DOF IMU 114 and converts it to digital form to be processed by microprocessor 116. As mentioned above, analog-to-digital converter 202, 6DOF IMU 114, and microprocessor 116 may be implemented as a single, commercially-available chip.

Microprocessor 116 is a hardware device for executing software, particularly that stored in memory 206. Microprocessor 116 may be any custom-made or commercially-available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with putter 100, a semiconductor based microprocessor (in the form of a microchip or chip set), a macroprocessor, or generally any device for executing software instructions.

Memory 206 may include a number of software module(s), motion analysis algorithms, etc. configured to perform functions related to the measured data received from 6DOF IMU 114. Memory 206 may include any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.). Memory 206 may incorporate electronic, magnetic, optical, and/or other types of storage media. As illustrated in FIG. 2, memory 206 may include kinematic reference model(s) 216, a 6DOF model 218, stroke feedback module(s) 224, distance/elevation calculation module(s) 226, break indicator module(s) 228, Stimpmeter simulator module(s) 230, initialization/orientation module(s) 232, etc. Each of these exemplary software modules are described below in more detail.

Power supply 204, which functions to provide power to the electronics associated with putter 100 may comprise any of a variety of types of batteries suitable for use with 6DOF IMU 114, analog-to-digital converter 202, microprocessor 116, etc. In preferred embodiments, power supply 204 is rechargeable and has a long battery life.

I/O devices 208 may include any desirable input and/or output devices. For example, I/O devices 208 may include suitable feedback mechanisms as described above, which may be used in cooperation with corresponding software modules to provide visual and/or audio feedback to a golfer. Feedback mechanisms may include a display 112 (FIG. 1 b), audio transducer, etc. I/O devices 208 may also include suitable mode switching mechanisms as described above, which may include, for example, switch 108 (FIG. 1 a). It should be appreciated that I/O devices 208 may further comprise data port(s), wireless transceivers, etc. for interfacing putter 100 with external processing systems.

During operation, a golfer may switch putter 100 from competition mode to a training mode by enabling 6DOF IMU 114 (and the corresponding electronics and software modules) via a mode switching mechanism. In training mode, 6DOF IMU 114 measures the motion of head 106 and provides the analog data to analog-to-digital converter 202 to be converted to digital form, where it may be processed by microprocessor 116 and the corresponding software module(s).

It should be appreciated that the functionality embodied in the software modules may be implemented software, firmware, hardware, or any combination thereof. When implemented in hardware, the software modules may be implemented with any or a combination of the following, or other, technologies: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.

When implemented in software, as illustrated in the embodiment of FIG. 2, the functionality may be stored on any computer-readable medium for use by or in connection with any computer related system or method. In the context of this document, a computer-readable medium may be an electronic, magnetic, optical, or other physical device or means that may contain or store a computer program for use by or in connection with a computer-related system or method. Therefore, any of the software modules may be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.

In the context of this document, a “computer-readable medium” can be any means that can store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM, EEPROM, or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.

Furthermore, it should be appreciated that any functional description, process descriptions, or blocks in flow charts should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of the preferred embodiment of the present invention in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present invention.

Having described the components and general operation of putter 100 above, the various software modules will be described with reference to FIGS. 3-9. One of ordinary skill in the art will appreciate that 6DOF model 218 comprises the functionality for processing the data received from 6DOF IMU 114 and determining the corresponding motion of head 106. In this regard, 6DOF model 218 defines the inertial frame 302 illustrated in FIG. 3 a and the non-inertial, or body frame, illustrated in FIG. 3 b that corresponds to head 106. 6DOF model 218 receives the sensor-related data received from 6DOF IMU 114 and, based on the model, determines the motion of head 106.

It should be appreciated that accurate three-dimensional measurements of translation and rotation must be made to determine the actual instantaneous position and orientation of the head 106. One of ordinary skill in the art will further appreciate that the data provided by 6DOF IMU 114 will include a gravity component as defined by orientation of head 106 with respect to the center of the Earth. In this regard, 6DOF model 218 may include a gravity cancellation module 220 (FIG. 2) configured to determine the gravity component and cancel this component during motion analysis. FIG. 4 illustrates a composite of the inertial frame 302, the body frame, and the gravity component. By canceling the gravity component during motion analysis, 6DOF model 218 provides an accurate computation of the motion of head 106. Gravity cancellation module 220 may include appropriate functionality for determining the initial orientation of head 106 (e.g., initialization/orientation module(s) 232) relative to the Earth (or another inertial reference frame) in order to calculate the gravity compensation components for each accelerometer with a high degree of accuracy.

By way of example, in certain embodiments, the initialization of the inertial reference frame and the orientation of the head of the golf club may be performed by an initialization/orientation module 232, which reads the accelerometer outputs while head 106 is held still (e.g., when a golfer addresses the ball before a stroke). These components may then be used in a three-dimensional Pythagorean theorem algorithm to determine the orientation of head 106 with respect to the earth. For example, at address, a particular golf may actually tilt head 106 toward/away and/or forward/back from the vertical axis. Some golfers may not initially orient head 106 perfectly flat. Instead, head 106 may be oriented at address with the toe oriented up/down or with shaft 104 oriented forward/back. Initialization/orientation module(s) 232 may determine this orientation and, via an appropriate feedback mechanism, notify the golfer if head 106 is not properly oriented at address. Furthermore, initialization/orientation module 232 may also compensate for this deviation in the event the golf prefers to use this orientation of head 106 at address.

Referring to FIGS. 3 a and 3 b, the 3 axial accelerations and 3 rotational velocities described above are required to implement a six-degrees-of-freedom (6DOF) algorithm (i.e., rigid body kinematics) and completely determine the translation and rotation of head 106 through space with respect to inertial frame 302. A more detailed description of rigid body kinematics and the 6DOF algorithm is described in “Spacecraft Dynamics and Control,” Marcel J. Sidi, Cambridge University Press, 1997, which is hereby incorporated by reference in its entirety.

6DOF model 218 may employ any of a variety of types of mathematical methods for determining orientation of head 106. In certain embodiments, an Euler angle method may be employed. For instance, certain golf strokes (e.g., a putting stroke) involve less angular motion than other strokes (e.g., a full golf swing). Where less angular motion is involved (e.g., less than 90 degrees) in the golf stroke, an Euler angle method may be employed. However, in situations where large angular motion is involved (e.g., greater than 90 degrees), a Euler angle method numerically fails and orientation cannot be calculated due to the limitations of trigonometry at these large angles.

As illustrated in FIG. 2, in a preferred embodiment, 6DOF model 218 includes a Quaternion method module 222 for determining orientation of head 106 based on a Quaternion method, which transforms trigonometric equations into an algebraic set of equations that do not contain any angular restrictions. Furthermore, the Quaternion method is much more computationally efficient compared to the Euler method, which may promote a more accurate and reliable real-time analysis while simultaneously minimizing power consumption.

Although various mathematical models may be employed, the Quaternion method and Euler angle methods are described below to describe one possible embodiment of 6DOF model 218. As known in the art, when a rigid body moves through space, the motion of the body can be determined by measuring three mutually-orthogonal, translational accelerations and three mutually-orthogonal, rotational velocities. Referring again to FIGS. 3 a and 3 b, inertial reference frame XYZ can be defined, as well as a body frame uvw corresponding to head 106 and 6DOF IMU 114. As head 106 rotates through space, the orientation of head 106 with respect to the inertial frame may be determined by using, for example, a coordinate transformation matrix.

Referring to Equation 1, 6DOF model 218 may define the following Euler angle direction cosine matrix A(ψθφ) may be defined: $\underset{\_}{{Equation}\quad 1\text{:}\quad{Euler}\quad{Angle}\quad{Direction}\quad{Cosine}\quad{Matrix}}$ ${A\left( {\psi\quad\theta\quad\phi} \right)} = {\begin{matrix} {c\quad\theta\quad c\quad\psi} & {c\quad\theta\quad s\quad\psi} & {{- s}\quad\theta} \\ {{{- c}\quad\varphi\quad s\quad\psi} + {s\quad\varphi\quad s\quad\theta\quad c\quad\psi}} & {{c\quad\varphi\quad c\quad\psi} + {s\quad\varphi\quad s\quad\theta\quad\psi}} & {s\quad\varphi\quad c\quad\theta} \\ {{s\quad\varphi\quad s\quad\psi} + {c\quad\varphi\quad s\quad\theta\quad c\quad\psi}} & {{{- s}\quad\varphi\quad c\quad\psi} + {c\quad\varphi\quad s\quad\theta\quad s\quad\psi}} & {c\quad\varphi\quad c\quad\theta} \end{matrix}}$ In Equation 1, A(ψθφ) is one form (of 12 possible) of the Euler direction cosine matrix and ψ, θ, and φ are sequential (Euler) rotations about the body local w, v, and u axes, respectively. The c and s in the matrix above represent the trigonometric cosine and sine functions, respectively. As known in the art, the instantaneous sensed motion of head 106 comprises the body angular rates (p, q, and r measured with rate gyros of 6DOF IMU 114). The corresponding relationship between body angular rates and Euler angles (rates) are shown below in Equations 2-4. p=dφ/dt−(dψ/dt)sin θ  Equation 2 q=(dθ/dt)cos φ+(dψ/dt)cos θ sin φ  Equation 3 r=(dψ/dt)cos θ cos φ−(dθ/dt)sin φ  Equation 4 Referring to Equations 2-4, the angular velocity vector of the body frame relative to the reference frame may be defined as follows: ω_(BR) =pi+qj+rk. Solving Equations 2-4 for dφ/dt, dθ/dt, and dψ/dt, 6DOF model 218 may define Equations 5-7 below. dφ/dt=p+(q sinφ+r cosφ)tan θ  Equation 5 dθ/dt=q cos φ−r sin φ  Equation 6 dψ/dt=(q sin φ+r cos φ)sec θ  Equation 7 As mentioned above, in a Euler angle method, a singularity exists at θ=90 degrees for Equation 5 and Equation 7. The presence of this singularity causes the Euler angle method to fail when this orientation condition is present. Furthermore, processing of Equations 5-7 may be computationally intensive due to the large number of trigonometric calculations that must be performed.

In order to provide flexible design requirements for processing efficiency, power management, etc., Quaternion method module 222 may transform these trigonometric equations into algebraic equations. As known in the art, the Quaternion method employs Euler's theorem, which states that the most general displacement of a rigid body with one fixed point is a rotation about some axis (e.g., the eigenvector). Therefore, any attitude transformation by successive rotations about the three orthogonal axes may be achieved by a single rotation about the eigenvector with unity eigenvalue. Since the direction cosine matrix is a proper real orthogonal matrix, it has at least one eignevector with eigenvalue of unity.

Quaternion method module 222 may define the Quaternion in Equation 8 and the transformation matrix in Equation 9. $\underset{\_}{{Equation}\quad 8}\quad$ q = q4 + i  q1 + j  q2 + k  q3 = q4 + q   $\underset{\_}{{Equation}\quad 9\text{:}\quad{Transformation}\quad{Matrix—Quaternion}\quad{Form}}\quad$ ${A(q)} = {\begin{matrix} {{q1}^{2} - {q2}^{2} - {q3}^{2} + {q4}^{2}} & {2\left( {{q1q2} + {q3q4}} \right)} & {2\left( {{q1q3} - {q2q4}} \right)} \\ {2\left( {{q1q2} - {q3q4}} \right)} & {{- {q1}^{2}} + {q2}^{2} - {q3}^{2} + {q4}^{2}} & {2\left( {{q2q3} + {q1q4}} \right)} \\ {2\left( {{q1q3} + {q2q4}} \right)} & {2\left( {{q2q3} - {q1q4}} \right)} & {{- {q1}^{2}} - {q2}^{2} + {q3}^{2} + {q4}^{2}} \end{matrix}\quad }$ Where the Quaternions q1, q2, q3, and q4 can be determined arithmetically. The Quaternion transformation matrix values are identical to the Euler direction cosine matrix, but are developed without the computationally intensive trigonometric functions and contain no singularities when used in the rigid body kinematics equations. This approach allows unlimited rotational range without restriction while simultaneously making the numerical processing more efficient and effective.

As mentioned above, 6DOF model 218 may include functionality for determining the initial reference frame (e.g., inertial frame 302—FIG. 3 a). It should be appreciated that a number of motion analysis algorithms may employ the functionality for determining the initial reference frame. For example, the initial reference frame may be determined at the beginning of the stroke and for other motion analysis algorithms, such as distance/elevation calculation module(s), 226, Stimpmeter simulator module(s) 230, etc. One or more of these modules may employ a reference frame (e.g., inertial frame 302—FIG. 3 a) that is oriented with an axis aligned with the gravity vector (FIG. 4).

One of ordinary skill in the art will appreciate that, in certain embodiments, the initialization process may define an appropriate reference by using the gravity vector in the manner described below. Referring again to FIGS. 3 a, 3 b and 4, 6DOF IMU 114 may read the component of gravity to which each accelerometer is subjected. As mentioned above, 6DOF IMU 114 may be disposed within head 106 such that each accelerometer is mutually orthogonal. For example, one accelerometer may be oriented in a position perpendicular to the face of head 106 (e.g., x axis). A second accelerometer may be oriented in a position along the y axis and a third accelerometer may be oriented in a position perpendicular to the z axis. By way of example, where the z-axis accelerometer is perfectly aligned with the gravity vector, the accelerometer would read 1 g, while the x-axis and y-axis accelerometers would read zero. It should be appreciated that any misalignment of the z-axis accelerometer with the gravity vector may cause the x-axis accelerometer and/or the y-axis accelerometer to read a value other than zero. In this manner, the initial reference frame may be determined.

By way of example, the initial reference frame for a putting stroke may be assumed to be at the beginning of the stroke. The putter body z axis may not need to be perfectly aligned with the gravity vector and the putter face may not need to be perfectly square (i.e., the face may be slightly tipped forward/back and the head toe up/down). The assumption may be made that the face does not require an adjustment about the vertical (gravity vector) direction because alignment to the intended putt direction cannot be predicted.

With this in mind, Equations 10 and 11 may be defined. {x}=[A]{X}, where: {x} is the body frame {X} is the reference frame [A] is the direction cosine matrix  Equation 10 {X}=[A]^(T){x} where: [A]^(T) is the transform of [A] since [A]^(T)=[A]⁻¹ for orthogonal matrices  Equation 11 Because g is the only non-zero (Z axis) components in the reference frame, then using the direction cosine matrix [A], the Equations 12-14 may be derived: x=sin(θ)g and θ=sin⁻¹(x/g)  Equation 12 y=−sin (φ)cos(θ)g and φ=sin⁻¹(−y/cos(θ)g)  Equation 13 ψ=0 (rotation about the putter head vertical/spin axis)  Equation 14 In this manner, 6DOF model 218 may determine a reference frame in which the Z-axis is aligned to the gravity vector, the X-axis is aligned to a target line defined by the orientation of the face of the head of the club, and the Y-axis is horizontally aligned along with the X-axis. This reference frame enables 6DOF model 218 to mathematically define useful features with respect to the Earth, for example, a perpendicular XZ reference plane for a putter stroke (pendulum motion) comparison, putter head twist, distance and elevation changes to the hole and other parts of the green, etc. It should be appreciated that, 6DOF model 218 may define other initial reference planes. For example, in addition to an Earth reference frame, 6DOF model 218 may include the initial position of the body frame at the beginning of the motion in order to provide additional motion analysis algorithms.

FIG. 5 is a flow chart illustrating the general architecture, operation, and/or functionality of one of a number of embodiments of 6DOF model 218. As represented by block 502, 6DOF model 218 may begin processing when a training mode is selected. In certain embodiments, the golf club or golf swing training device may include a mode switching mechanism (e.g., switch 108—FIGS. 1 & 2) by which a golfer may enable and disable the IMU, microprocessor, motion analysis algorithm(s), 6DOF model 218, etc. For example, in a training or non-competition mode, a golfer may train by enabling the IMU and microprocessor and thereby receive stroke feedback. In a competition or rules compliance mode, however, the golfer may disable the necessary functionality to comply with appropriate rules of competition, such as the rules of golf promulgated by the United States Golf Association and The Royal and Ancient Golf Club of St. Andrews.

After the training mode is selected (and/or 6DOF model 218, microprocessor 116, and 6DOF IMU 114 are enabled), at blocks 504, 506, and 508, 6DOF model 218 may perform the initialization process described above to determine an initial reference frame. In the embodiment illustrated in FIG. 5, the initialization process involves (1) initializing Euler angles, (2) initializing the direction cosine matrix (Equation 1), and (3) initializing the Quaternions (e.g., Equations 8 and 9, Quaternion method module 222). As mentioned above, in certain embodiments, the initialization process may also compensate for gravity (e.g., gravity cancellation module 220).

As represented by block 510 and 512, after the inertial reference frame is initialized, analysis of the motion of head 106 may be performed and data may be read from 6DOF IMU 114. Blocks 514-528 represent the mathematical processing of the data received by 6DOF IMU based 6DOF model 218 as described above.

After the position of head 106 is calculated (block 528), at block 530, the initial conditions may be updated. As shown at decision block 534, blocks 512-532, may be repeated until the stroke is completed or until data no longer needs to be read from 6DOF IMU 114.

Block 530 illustrates that, in certain embodiments where feedback is be provided to the golfer, 6DOF model 218 may output the appropriate data. In other embodiments, block 530 may represent a control point to other software modules.

Having described the architecture, operation, and/or functionality of 6DOF model 218, it should be appreciated that a number of motion analysis algorithms may be employed. As mentioned above, in one embodiment, the motion of the golf club during a stroke may be compared to a kinematic reference model 216 (FIG. 2) to provide the golfer with feedback related to the stroke. In this regard, it should be appreciated that kinematic reference model(s) 216 store data that may mathematically define various useful stroke references and/or characteristics of a golf stroke (or portion thereof), including, for example, planes, vectors, other useful stroke references, etc. Kinematic reference model(s) 216 may be configured and stored in a number of possible ways. Nonetheless, one of ordinary skill in the art will appreciate that kinematic reference model(s) 216 may define a basis by which to compare the data received from 6DOF IMU 114 and processed by 6DOF model 218.

It should be further appreciated that kinematic reference model(s) 216 may include data corresponding to the individualized swing mechanics for a particular golfer. For example, a particular golfer may employ so-called “unconventional” swing mechanics, yet still achieve successful results. Such a golfer may desire to “groove” this individualized swing in order to develop a consistent, repeatable, individualized golf swing.

In certain embodiments, a feedback mechanism may also be implemented, which enables the user to receive various forms of feedback based on the comparison of the actual stroke to the kinematic reference model. It should be appreciated that the feedback mechanism may employ visual feedback technique(s) (e.g., where a display, LED, etc. is employed) or audio feedback technique(s) (e.g., where an audio transducer is employed). For instance, in embodiments where the golf club is a putter, the feedback mechanism and the stroke motion analysis algorithm(s) may be configured to provide audio and/or visual feedback during the putting stroke when the motion of the head of the putter deviates from the kinematic reference model. One of ordinary skill in the art will appreciate that feedback may be provided for any aspect of the golf stroke. By way of example, during the putting stroke, the feedback mechanism may provide a cue when the putter head rotates beyond a predefined threshold, when the putter head deviates from the target line, when the acceleration of the putter head deviates from a predefined threshold, etc.

FIG. 6 is a flowchart illustrating the architecture, operation, and/or functionality of an embodiment of a distance/elevation calculation module 226 that may be implemented with 6DOF model 218. It should be appreciated that, in general, distance/elevation calculation module 226 interfaces with 6DOF model 218 to determine a particular distance which head 106 travels. It should be appreciated that distance/elevation calculation module 226 may be used during a golf stroke to provide information regarding distances head 106 travels during the stroke. For example, distance/elevation calculation module 226 may be used to calculate the drawback and follow-through distances of a putting stroke. In alternative embodiments, distance/elevation calculation module 226 may be used to determine yardages between two points on the golf course. In this manner, distance/elevation calculation module 226 may supplement existing yardage markers on the course and/or be used on putting greens to calculate more accurate distances/elevations.

Referring to FIG. 6, at block 602, distance/elevation calculation module 226 initializes reference frame 302 (FIG. 3 a) as above, initialization/orientation module 232 may be employed. At blocks 604 and 608, distance/elevation calculation module 226 determines the position of head 106 at first and second trigger events. Distance/elevation calculation module 226 may interface with 6DOF model 218 (block 530—FIG. 5) to receive the position coordinates. It should be appreciated that the trigger events may be defined by a user, such as the case where a golfer desires to measure the distance/elevation of a putt. The golfer may define the trigger event via any I/O device 108. In this embodiment, the golfer may locate head 106 at the ball and specify the first trigger event and then locate head 106 at the hole and specify the second trigger event. One of ordinary skill in the art will appreciate that this functionality may be extended to, and included in, a distance/elevation sampling algorithm (e.g., topology simulator module 234—FIGS. 2 & 6) by which multiple points may be sampled with respect to the reference frame in order to model a simple topology to aid a golfer in reading greens. As illustrated in FIG. 6, topology simulation module 234 may sample additional points at more “second” trigger events (decision block 610) in order to model a simple topology of the green.

In alternative embodiments, the trigger event may be a particular event during a stroke, which may be identified by 6DOF model 218 based on the characteristics of the measured motion. For example, 6DOF model 218 may be configured to automatically identify the point at which head 106 impacts a golf ball during a stroke based on the expected motion characteristics that occur at impact (e.g., a high-frequency data spike).

Regardless of the logic that determines, specifies, etc. the trigger event, at block 608, distance/elevation calculation module 226 calculates the relative distance/elevation between the position coordinates at the first and second trigger events. Distance/elevation calculation module 226 may also calculate the relative distance from reference frame 302 (FIG. 3 a) to each trigger event. It should be appreciated that this distance/elevation calculation functionality may be implemented in a number of different features. Furthermore, it should be appreciated that distance/elevation calculation module 226 may be configured to interface with the feedback mechanisms described above.

FIG. 7 is a flowchart illustrating the architecture, operation, and/or functionality of an embodiment of a stroke feedback module 224 (FIG. 2) that may be implemented with 6DOF model 218. In general, stroke feedback module 224 provides stroke feedback to a golfer based on a comparison of the motion of head 106 during a stroke to a kinematic reference model 216 that defines the motion of head 106 during a hypothetical, desirable golf stroke. Any type of stroke characteristic may be monitored. For example, stroke feedback module 224 may be configured to monitor and provide feedback related to any of the following, or other, stroke characteristics: swing plane of golf club, rotation of head 106, initial orientation of head 106 at address, acceleration of head 106 in the impact zone (or other segment of swing), etc. In this regard, numerous kinematic reference model(s) 216 may be stored in memory 206 for any of these, or other, swing characteristics.

Referring to the embodiment in FIG. 7, at block 702, a golfer may select (e.g., via I/O devices 208) a stroke characteristic to monitor. In alternative embodiments, putter 100 may be designed for monitoring and providing feedback for a single stroke characteristic. At block 704, the golfer may begin performing the stroke. As illustrated by decision block 706, stroke feedback module 224 may determine when the stroke has been completed and, in such cases, terminate at block 708. During the stroke, stroke feedback module 224 may read, at block 710, current motion analysis data acquired by 6DOF IMU 114. At block 712, stroke feedback module 224 may compare the current motion analysis data to the appropriate (e.g., selected) kinematic reference model 216. At block 714, stroke feedback module 224 may provide feedback to the golfer based on the comparison (block 712). For example, stroke feedback module 224 may determine whether the swing being performed by the golfer (based on the current and/or previous motion analysis data) conforms to the corresponding data in kinematic reference model 216. Consider the situation where the kinematic reference model 216 includes data corresponding to a minimum acceptable value for the amount head 106 may rotate during a putting stroke. Many golf teachers advocate minimizing the rotation of the putter head (i.e., keep the putter face “square” to the target line at address). In this example, stroke feedback module 224 may read the motion analysis data from putter 100 during the stroke (block 710), compare the data to the kinematic reference model 216 (block 712), and determine whether the actual amount of putter rotation is within the accepted threshold.

FIG. 8 is a flowchart illustrating the architecture, operation, and/or functionality of an embodiment of a Stimpmeter simulator module 230 that may be implemented with 6DOF model 218. As known in the art, a Stimpmeter is an extruded aluminum bar used in the golf industry to provide a uniform measurement of the speed of greens. A Stimpmeter is 36 inches long, with a V-shaped groove extending along its entire length. It has a precisely milled ball-release notch 30″ from the tapered end (the end that rests on the ground). The underside of the tapered end is milled away to reduce bounce as a rolling ball makes contact with the green. The V-shaped groove has an included angle of 145 degrees, thereby supporting a golf ball at two points ½″ apart. A ball rolling down the groove has a slight overspin, which is thoroughly consistent and has no deleterious effect on the ensuing measurements. The ball-release notch is designed so that a ball will always be released and start to roll when the Stimpmeter is raised to an angle of approximately 20 degrees. This feature ensures that the velocity of the ball will always be the same when it reaches the tapered end. In this manner, a Stimpmeter may be used to compare the relative speeds of greens by comparing the distance/elevation a golf ball rolls.

Stimpmeter simulator module 230 may be configured to model the Stimpmeter calculation to provide a similar measurement of the speed of a green. Referring to FIG. 8, at block 802, a golfer may strike a golf ball using putter 100. At block 804, Stimpmeter simulator module 230 may determine the impact velocity of putter 100 and/or the initial velocity of the golf ball based on the motion analysis data from 6DOF IMU 114. At block 806, Stimpmeter simulator module 230 may measure the travel distance of the golf ball as described above with respect to distance/elevation calculation module 226. Given the initial velocity of the golf ball and the travel distance, Stimpmeter simulator module 230 may calculate, at block 808, the corresponding Stimpmeter measurement to provide a relative measure of the speed of the green.

One of ordinary skill in the art will appreciate that additional software modules may be included in putter 100 to provide other motion analysis features. For example, an additional software module (e.g., break indicator module 228—FIG. 1) may be configured to provide an estimation of the amount of expected break in a putt based on the orientation of the face of putter 100 (e.g., target line at address) relative to a ball-to-hole line defined by the vector from the ball to the hole. In this regard, as illustrated in FIG. 9, break indicator module 228 may be configured to determine a vector from the ball to the hole (i.e., ball-to-hole line) and the orientation of the face of putter 100 (i.e., X-axis of the putter 100—FIGS. 3 a and 3 b—i.e. the target line at address) relative to the ball-to-hole line (block 902). Based on the ball-to-hole line relative to the target line at address, break indicator module 228 may determine a “break” calculation indicating the number of “inches of break” to the left or right of the hole (block 904) resulting from the target line at address. The “break” calculation may be provided to the golfer (e.g., via display 112) to aid in aligning a putt (block 906).

As mentioned above, various types of feedback mechanisms may be employed in putter 100. For example, audio and visual cues may be used. Regarding audio cue, in one embodiment, a constant frequency tone could be generated at initialization (e.g., 5000 Hz). As the putter 100 is drawn back and deviates from the vertical plane, the frequency (or volume) could be increased or decreased as a function of out-of-plane displacement (i.e., frequency increases if pushed out of plane, frequency decreases if pulled out of plane). Also, if a small amount of deviation is acceptable, a small dead-band could be included where frequency is not modified until a threshold is exceeded. A similar output could be generated for the other features.

An alternative output could be an LED/LCD readout (e.g., display 112—FIG. 1) on the top of the putter 100 providing a visual cue to the user. Depending on the particular feature being implemented, various types of visual cues may be employed. For example, when calculating the drawback distance for a putting stroke, the maximum drawback distance could be output to display 112 such that the user could then measure ball travel and determine the appropriate drawback distance relative to final ball position to develop fine distance control. Clearly, any of these cases and outputs could be combined to have multiple cases simultaneously output.

It should be emphasized that the above-described embodiments of the present invention, particularly, any “preferred” embodiments, are merely possible examples of implementations, merely set forth for a clear understanding of the principles of the invention. Many variations and modifications may be made to the above-described embodiment(s) of the invention without departing substantially from the spirit and principles of the invention. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims. 

1. A golf club comprising: a 6DOF inertial measurement unit disposed within the head of the golf club; and a microprocessor in communication with the 6DOF inertial measurement unit, the microprocessor configured to receive data from the 6DOF inertial measurement unit and determine the translational and rotational motion of the head of the golf club.
 2. The golf club of claim 1, wherein the head of the golf club comprises a putter head.
 3. The golf club of claim 1, wherein the head of the golf club comprises one of an iron and a wood.
 4. The golf club of claim 1, wherein the microprocessor is configured to determine the motion of the head of the golf club using a Quaternion algorithm.
 5. The golf club of claim 1, wherein the microprocessor is configured to determine the motion of the head of the gold club using an Euler angle algorithm.
 6. The golf club of claim 1, further comprising: a kinematic reference model stored in memory; wherein the microprocessor is further configured to compare the motion of the head of the golf club to the kinematic reference model.
 7. The golf club of claim 1, wherein the golf club comprises a putter and the microprocessor is further configured to determine whether the head of the putter rotates beyond a certain threshold during a putting stroke.
 8. The golf club of claim 1, wherein the golf club comprises a putter and the microprocessor is further configured to determine whether, during a putting stroke, the head of the putter deviates from the target line by a predetermined threshold.
 9. The golf club of claim 6, wherein the golf club comprises a putter and the microprocessor is further configured to: determine the acceleration of the head of the putter through impact of the ball; and provide feedback based on the determined acceleration.
 10. The golf club of claim 1, further comprising a feedback mechanism in communication with the microprocessor, the feedback mechanism configured to provide information to a user of the golf club based on the comparison of the motion of the head of the golf club and the kinematic reference model.
 11. The golf club of claim 10, wherein the feedback mechanism comprises a display.
 12. The golf club of claim 10, wherein the feedback mechanism employs an audio cue.
 13. The golf club of claim 1, further comprising a distance/elevation calculation functionality comprising logic configured to determine the distance/elevation between a first position and a second position based on the movement of the head of the golf club from the first point to the second point.
 14. The golf club of claim 13, wherein the golf club is a putter and further comprising: logic configured to determine, based on the movement of the head of the putter during a putting stroke, at least one of the following distances: the drawback distance of the head of the putter and the follow-through distance of the head of the putter; and logic configured to compare at least one of the drawback distance and the follow-through distance to the travel distance of the ball struck by the head of the putter.
 15. The golf club of claim 1, wherein the golf club comprises a putter and further comprising a Stimpmeter functionality comprising logic configured to calculate the “speed” of a green based on the impact velocity of the putter head and the resulting distance the golf ball travels on the green.
 16. The golf club of claim 15, wherein the microprocessor is further configured to calculate an amount of “break” to be applied by a golfer based on an orientation of the face of the putter at address relative to a ball-to-hole line.
 17. The golf club of claim 1, wherein the microprocessor is further configured to determine the motion of the head of the golf club by performing a gravity cancellation algorithm.
 18. The golf club of claim 1, further comprising a mode switching mechanism adapted to enable a user to select between a training mode in which the 6DOF inertial measurement unit and the microprocessor are engaged and a competition mode in which the 6DOF inertial management unit and the microprocessor are disengaged.
 19. The golf club of claim 18, wherein the mode selection device comprises a switch.
 20. The golf club of claim 1, wherein the 6DOF inertial measurement unit and the microprocessor are rigidly fixed within the head of the golf club.
 21. The golf club of claim 1, wherein the physical properties of the 6DOF inertial measurement unit, the microprocessor, and the head of the golf club comply with rules of golf promulgated by the United States Golf Association and The Royal and Ancient Golf Club of St. Andrews.
 22. The golf club of claim 1, wherein the microprocessor is further configured to initialize an inertial reference frame using a gravity vector. 